<?php

Class ProprietarioDAO{
    
    public function cadastrarProprietario(Proprietario $proprietario) {
        
        try {

            //Banco de dados
            $conexao = new Conexao();
            $conn = $conexao->abrirConexao();
            
            //Codigo SQL
            $query = "
                INSERT INTO proprietario_veiculo (id, relacao_proprietario, tipo,
                    nome, cpf, sexo, cep, telefone, email, estado_civil, 
                    data_nascimento, numero_veiculos) 
                VALUES (NULL, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?);
            ";
            
            //converter datas
            $data = new Utilitarios();
            $dataNascimento = $data->ConverteDataBanco($proprietario->getDataNascimento());

            //Cadastro Usuario
            $stmt = $conn->prepare($query);
            $stmt->bindValue(1, utf8_decode($proprietario->getRelacaoProprietario()));
            $stmt->bindValue(2, utf8_decode($proprietario->getTipo()));
            $stmt->bindValue(3, utf8_decode($proprietario->getNome()));
            $stmt->bindValue(4, utf8_decode($proprietario->getCpf()));
            $stmt->bindValue(5, utf8_decode($proprietario->getSexo()));
            $stmt->bindValue(6, utf8_decode($proprietario->getCep()));
            $stmt->bindValue(7, utf8_decode($proprietario->getTelefone()));
            $stmt->bindValue(8, utf8_decode($proprietario->getEmail()));
            $stmt->bindValue(9, utf8_decode($proprietario->getEstadoCivil()));
            $stmt->bindValue(10, $dataNascimento); 
            $stmt->bindValue(11, $proprietario->getNumeroVeiculos());
            $stmt->execute();
            
            $idProprietario = $conn->lastInsertId();
            
            $conn = $conexao->fecharConexao();
            return $idProprietario;
            
        } catch (Exception $exc) {
            echo $exc->getTraceAsString();
            return false;
        }
        
    }
    
    public function editarProprietario(Proprietario $proprietario) {
        
        try {

            //Banco de dados
            $conexao = new Conexao();
            $conn = $conexao->abrirConexao();
            
            //Codigo SQL
            $query = "UPDATE proprietario_veiculo SET relacao_proprietario = ?, 
                tipo = ?, nome = ?, cpf = ?, sexo = ?, cep = ?, telefone = ?, 
                email = ?, estado_civil = ?, data_nascimento = ?, numero_veiculos = ? 
                WHERE id = ".$proprietario->getIdProprietario().";
            ";
            
            //converter datas
            $data = new Utilitarios();
            $dataNascimento = $data->ConverteDataBanco($proprietario->getDataNascimento());

            //Cadastro Usuario
            $stmt = $conn->prepare($query);
            $stmt->bindValue(1, utf8_decode($proprietario->getRelacaoProprietario()));
            $stmt->bindValue(2, utf8_decode($proprietario->getTipo()));
            $stmt->bindValue(3, utf8_decode($proprietario->getNome()));
            $stmt->bindValue(4, utf8_decode($proprietario->getCpf()));
            $stmt->bindValue(5, utf8_decode($proprietario->getSexo()));
            $stmt->bindValue(6, utf8_decode($proprietario->getCep()));
            $stmt->bindValue(7, utf8_decode($proprietario->getTelefone()));
            $stmt->bindValue(8, utf8_decode($proprietario->getEmail()));
            $stmt->bindValue(9, utf8_decode($proprietario->getEstadoCivil()));
            $stmt->bindValue(10, $dataNascimento); 
            $stmt->bindValue(11, $proprietario->getNumeroVeiculos());
            $stmt->execute();
            
            $conn = $conexao->fecharConexao();
            
        } catch (Exception $exc) {
            echo $exc->getTraceAsString();
            return false;
        }
        
    }
    
    public function selecionarProprietario($idProprietario) {
        
        try {
            //Banco de dados
            $conexao = new Conexao();
            $conn = $conexao->abrirConexao();

            //Codigo SQL
            $result = $conn->query("
                SELECT * 
                FROM proprietario_veiculo
                WHERE id = " . $idProprietario . " 
            ");
            //SELECT *  FROM `seguradora` WHERE `id` = 1 AND `shadow` = 0

            $num = count($result);
            if ($num == 0) {
                
                $proprietario = false;
                
            } else {
                $proprietario = new Proprietario();
                foreach ($result as $value) {
                    
                    //converter datas
                    $data = new Utilitarios();
                    $dataNascimento = $data->ConverteDataBrasil($value['data_nascimento']);
                    
                    $proprietario->setRelacaoProprietario($value['relacao_proprietario']);
                    $proprietario->setTipo($value['tipo']);
                    $proprietario->setNome($value['nome']);
                    $proprietario->setCpf($value['cpf']);
                    $proprietario->setSexo($value['sexo']);
                    $proprietario->setCep($value['cep']);
                    $proprietario->setTelefone($value['telefone']);
                    $proprietario->setEmail($value['email']);
                    $proprietario->setEstadoCivil($value['estado_civil']);
                    $proprietario->setDataNascimento($dataNascimento);
                    $proprietario->setNumeroVeiculos($value['numero_veiculos']);
                }
            }

            $conn = $conexao->fecharConexao();
            return $proprietario;
        } catch (Exception $exc) {
            echo $exc->getTraceAsString();
        }
        
    }
    
}

?>
